/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 */
package com.jeesite.modules.zx.examination.entity;

import org.hibernate.validator.constraints.Length;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.jeesite.common.mybatis.annotation.JoinTable;
import com.jeesite.common.mybatis.annotation.JoinTable.Type;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;
import com.jeesite.modules.zx.barbecue.signup.entity.TbarbecueSignup;
import com.jeesite.modules.zx.examination.vip.entity.TexaminationVip;

/**
 * 专项模拟考试表Entity
 * @author zpp
 * @version 2020-03-22
 */
@Table(name="t_examination", alias="a", columns={
		@Column(name="id", attrName="id", label="主键", isPK=true),
		@Column(name="obj_name", attrName="objName", label="数据名称", queryType=QueryType.LIKE),
		@Column(name="obj_type", attrName="objType", label="数据类型"),
		@Column(name="signup_start_time", attrName="signupStartTime", label="报名开始时间"),
		@Column(name="signup_end_time", attrName="signupEndTime", label="报名结束时间"),
		@Column(name="exam_point", attrName="examPoint", label="考点"),  
		@Column(name="item", attrName="item", label="考试分类"),
	}, orderBy="a.id DESC"
)
public class Texamination extends DataEntity<Texamination> {
	
	private static final long serialVersionUID = 1L;
	private String objName;		// 数据名称
	private Integer objType;		// 数据类型
	private Date signupStartTime;		// 报名开始时间
	private Date signupEndTime;		// 报名结束时间
	private String examPoint,item,categoryName;		// 考场5
	private String startTimeOf,endTimeOf,ongoing,stateStr,fileUrl;//考试描述
	private List<TexaminationVip> examVipList=new ArrayList<TexaminationVip>();
	private TbarbecueSignup barbecueSignup=new TbarbecueSignup();
	private Long upEndTime=0l;
	private String scene;//场次,查询时间计数时使用

	public String getScene() {
		return scene;
	}

	public void setScene(String scene) {
		this.scene = scene;
	}

	public Long getUpEndTime() {
		return upEndTime;
	}

	public void setUpEndTime(Long upEndTime) {
		this.upEndTime = upEndTime;
	}

	public TbarbecueSignup getBarbecueSignup() {
		return barbecueSignup;
	}

	public void setBarbecueSignup(TbarbecueSignup barbecueSignup) {
		this.barbecueSignup = barbecueSignup;
	}

	public List<TexaminationVip> getExamVipList() {
		return examVipList;
	}

	public void setExamVipList(List<TexaminationVip> examVipList) {
		this.examVipList = examVipList;
	}

	public String getStartTimeOf() {
		return startTimeOf;
	}

	public void setStartTimeOf(String startTimeOf) {
		this.startTimeOf = startTimeOf;
	}

	public String getEndTimeOf() {
		return endTimeOf;
	}

	public void setEndTimeOf(String endTimeOf) {
		this.endTimeOf = endTimeOf;
	}

	public String getOngoing() {
		return ongoing;
	}

	public void setOngoing(String ongoing) {
		this.ongoing = ongoing;
	}

	public String getStateStr() {
		return stateStr;
	}

	public void setStateStr(String stateStr) {
		this.stateStr = stateStr;
	}

	public String getFileUrl() {
		return fileUrl;
	}

	public void setFileUrl(String fileUrl) {
		this.fileUrl = fileUrl;
	}

	public String getExamPoint() {
		return examPoint;
	}

	public void setExamPoint(String examPoint) {
		this.examPoint = examPoint;
	}

	public String getCategoryName() {
		return categoryName;
	}

	public void setCategoryName(String categoryName) {
		this.categoryName = categoryName;
	}

	

	public String getItem() {
		return item;
	}

	public void setItem(String item) {
		this.item = item;
	}

	public Texamination() {
		this(null);
	}

	public Texamination(String id){
		super(id);
	}
	
	
	@Length(min=0, max=255, message="数据名称长度不能超过 255 个字符")
	public String getObjName() {
		return objName;
	}

	public void setObjName(String objName) {
		this.objName = objName;
	}
	
	public Integer getObjType() {
		return objType;
	}

	public void setObjType(Integer objType) {
		this.objType = objType;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getSignupStartTime() {
		return signupStartTime;
	}

	public void setSignupStartTime(Date signupStartTime) {
		this.signupStartTime = signupStartTime;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getSignupEndTime() {
		return signupEndTime;
	}

	public void setSignupEndTime(Date signupEndTime) {
		this.signupEndTime = signupEndTime;
	}
}